1 Imports System.Data.SqlClient
2 Imports Excel = Microsoft.Office.Interop.Excel
3 Imports System.IO
4
5 Public Class frmBillingRecord1
6
7     Public Sub Getdata()
8         Try
9             con = New SqlConnection(cs)
10             con.Open()
11             cmd = New SqlCommand(
"Select Inv_ID, RTRIM(InvoiceNo), InvoiceDate, ServiceID,RTRIM(ServiceCode),RTRIM(Customer.CustomerID),RTRIM(Name), RepairCharges, Upfront, ProductCharges, ServiceTaxPer, ServiceTax, GrandTotal, TotalPaid, Balance, RTRIM(InvoiceInfo1.Remarks) from Customer,Service,InvoiceInfo1 where Customer.ID=Service.CustomerID and Service.S_ID=InvoiceInfo1.ServiceID order by InvoiceDate", con)
12             rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)
13             dgw.Rows.Clear()
14             While (rdr.Read() = True)
15                 dgw.Rows.Add(rdr(
0), rdr(1), rdr(2), rdr(3), rdr(4), rdr(5), rdr(6), rdr(7), rdr(8), rdr(9), rdr(10), rdr(11), rdr(12), rdr(13), rdr(14), rdr(15))
16             End While
17             con.Close()
18         Catch ex As Exception
19             MessageBox.Show(ex.Message,
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
20         End Try
21     End Sub
22     Private Sub frmLogs_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
23         Getdata()
24         fillInvoiceNo()
25     End Sub
26
27     Private Sub dgw_MouseClick(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles dgw.MouseClick
28         Try
29             If dgw.Rows.Count >
0 Then
30                 Dim dr As DataGridViewRow = dgw.SelectedRows(
0)
31                 If lblSet.Text =
"Billing" Then
32                     frmBilling1.Show()
33                     Me.Hide()
34                     frmBilling1.txtID.Text = dr.Cells(
0).Value.ToString()
35                     frmBilling1.txtInvoiceNo.Text = dr.Cells(
1).Value.ToString()
36                     frmBilling1.dtpInvoiceDate.Text = dr.Cells(
2).Value.ToString()
37                     frmBilling1.txtS_ID.Text = dr.Cells(
3).Value.ToString()
38                     frmBilling1.txtServiceCode.Text = dr.Cells(
4).Value.ToString()
39                     frmBilling1.txtCustomerID.Text = dr.Cells(
5).Value.ToString()
40                     frmBilling1.txtCustomerName.Text = dr.Cells(
6).Value.ToString()
41                     frmBilling1.txtRepairCharges.Text = dr.Cells(
7).Value.ToString()
42                     frmBilling1.txtUpfront.Text = dr.Cells(
8).Value.ToString()
43                     frmBilling1.txtProductCharges.Text = dr.Cells(
9).Value.ToString()
44                     frmBilling1.txtServiceTaxPer.Text = dr.Cells(
10).Value.ToString()
45                     frmBilling1.txtServiceTaxAmount.Text = dr.Cells(
11).Value.ToString()
46                     frmBilling1.txtGrandTotal.Text = dr.Cells(
12).Value.ToString()
47                     frmBilling1.txtTotalPayment.Text = dr.Cells(
13).Value.ToString()
48                     frmBilling1.txtPaymentDue.Text = dr.Cells(
14).Value.ToString()
49                     frmBilling1.txtRemarks.Text = dr.Cells(
15).Value.ToString()
50                     frmBilling1.btnSave.Enabled = False
51                     frmBilling1.btnUpdate.Enabled = True
52                     frmBilling1.btnPrint.Enabled = True
53                     frmBilling1.btnDelete.Enabled = True
54                     frmBilling1.lblSet.Text =
"Not Allowed"
55                     frmBilling1.btnAdd.Enabled = False
56                     con = New SqlConnection(cs)
57                     con.Open()
58                     Dim sql As String =
"SELECT RTRIM(ProductCode),RTRIM(ProductName), Invoice1_Product.CostPrice, Invoice1_Product.SellingPrice, Invoice1_Product.Margin, Invoice1_Product.Qty, Invoice1_Product.Amount, Invoice1_Product.DiscountPer, Invoice1_Product.Discount, Invoice1_Product.VATPer, Invoice1_Product.VAT, Invoice1_Product.TotalAmount,Product.PID from InvoiceInfo1,Invoice1_Product,Product where InvoiceInfo1.Inv_ID=Invoice1_Product.InvoiceID and Product.PID=Invoice1_Product.ProductID and InvoiceInfo1.Inv_ID=@d1 and Qty <> 0"
59                     cmd = New SqlCommand(sql, con)
60                     cmd.Parameters.AddWithValue(
"@d1", dr.Cells(0).Value.ToString())
61                     rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)
62                     frmBilling1.DataGridView1.Rows.Clear()
63                     While (rdr.Read() = True)
64                         frmBilling1.DataGridView1.Rows.Add(rdr(
0), rdr(1), rdr(2), rdr(3), rdr(4), rdr(5), rdr(6), rdr(7), rdr(8), rdr(9), rdr(10), rdr(11), rdr(12))
65                     End While
66                     con.Close()
67                     con = New SqlConnection(cs)
68                     con.Open()
69                     Dim sql1 As String =
"SELECT RTRIM(PaymentMode),Invoice1_Payment.TotalPaid,PaymentDate from InvoiceInfo1,Invoice1_Payment where InvoiceInfo1.Inv_ID=Invoice1_Payment.InvoiceID and InvoiceInfo1.Inv_ID=@d1"
70                     cmd = New SqlCommand(sql1, con)
71                     cmd.Parameters.AddWithValue(
"@d1", dr.Cells(0).Value.ToString())
72                     rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)
73                     frmBilling1.DataGridView2.Rows.Clear()
74                     While (rdr.Read() = True)
75                         frmBilling1.DataGridView2.Rows.Add(rdr(
0), rdr(1), rdr(2))
76                     End While
77                     con.Close()
78                     lblSet.Text =
""
79                 End If
80             End If
81         Catch ex As Exception
82             MessageBox.Show(ex.Message,
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
83         End Try
84     End Sub
85
86     Private Sub dgw_RowPostPaint(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewRowPostPaintEventArgs) Handles dgw.RowPostPaint
87         Dim strRowNumber As String = (e.RowIndex +
1).ToString()
88         Dim size As SizeF = e.Graphics.MeasureString(strRowNumber, Me.Font)
89         If dgw.RowHeadersWidth < Convert.ToInt32((size.Width +
20)) Then
90             dgw.RowHeadersWidth = Convert.ToInt32((size.Width +
20))
91         End If
92         Dim b As Brush = SystemBrushes.ControlText
93         e.Graphics.DrawString(strRowNumber, Me.Font, b, e.RowBounds.Location.X +
15, e.RowBounds.Location.Y + ((e.RowBounds.Height - size.Height) / 2))
94
95     End Sub
96     Sub fillInvoiceNo()
97         Try
98             con = New SqlConnection(cs)
99             con.Open()
100             adp = New SqlDataAdapter()
101             adp.SelectCommand = New SqlCommand(
"SELECT distinct RTRIM(InvoiceNo) FROM InvoiceInfo1", con)
102             ds = New DataSet(
"ds")
103             adp.Fill(ds)
104             dtable = ds.Tables(
0)
105             cmbInvoiceNo.Items.Clear()
106             For Each drow As DataRow In dtable.Rows
107                 cmbInvoiceNo.Items.Add(drow(
0).ToString())
108             Next
109         Catch ex As Exception
110             MessageBox.Show(ex.Message,
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
111         End Try
112     End Sub
113     Sub Reset()
114         cmbInvoiceNo.Text =
""
115         txtCustomerName.Text =
""
116         fillInvoiceNo()
117         dtpDateFrom.Text = Today
118         dtpDateTo.Text = Today
119         DateTimePicker2.Text = Today
120         DateTimePicker1.Text = Today
121         Getdata()
122     End Sub
123     Private Sub btnReset_Click(sender As System.Object, e As System.EventArgs) Handles btnReset.Click
124         Reset()
125     End Sub
126
127     Private Sub btnClose_Click(sender As System.Object, e As System.EventArgs) Handles btnClose.Click
128         Me.Close()
129     End Sub
130
131
132     Private Sub btnExportExcel_Click(sender As System.Object, e As System.EventArgs) Handles btnExportExcel.Click
133         Dim rowsTotal, colsTotal As Short
134         Dim I, j, iC As Short
135         System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor
136         Dim xlApp As New Excel.Application
137         Try
138             Dim excelBook As Excel.Workbook = xlApp.Workbooks.Add
139             Dim excelWorksheet As Excel.Worksheet = CType(excelBook.Worksheets(
1), Excel.Worksheet)
140             xlApp.Visible = True
141
142             rowsTotal = dgw.RowCount
143             colsTotal = dgw.Columns.Count -
1
144             With excelWorksheet
145                 .Cells.Select()
146                 .Cells.Delete()
147                 For iC =
0 To colsTotal
148                     .Cells(
1, iC + 1).Value = dgw.Columns(iC).HeaderText
149                 Next
150                 For I =
0 To rowsTotal - 1
151                     For j =
0 To colsTotal
152                         .Cells(I +
2, j + 1).value = dgw.Rows(I).Cells(j).Value
153                     Next j
154                 Next I
155                 .Rows(
"1:1").Font.FontStyle = "Bold"
156                 .Rows(
"1:1").Font.Size = 12
157
158                 .Cells.Columns.AutoFit()
159                 .Cells.Select()
160                 .Cells.EntireColumn.AutoFit()
161                 .Cells(
1, 1).Select()
162             End With
163         Catch ex As Exception
164             MessageBox.Show(ex.Message,
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
165         Finally
166             
'RELEASE ALLOACTED RESOURCES
167             System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
168             xlApp = Nothing
169         End Try
170     End Sub
171
172     Private Sub btnGetData_Click(sender As System.Object, e As System.EventArgs) Handles btnGetData.Click
173         Try
174             con = New SqlConnection(cs)
175             con.Open()
176             cmd = New SqlCommand(
"Select Inv_ID, RTRIM(InvoiceNo), InvoiceDate, ServiceID,RTRIM(ServiceCode),RTRIM(Customer.CustomerID),RTRIM(Name), RepairCharges, Upfront, ProductCharges, ServiceTaxPer, ServiceTax, GrandTotal, TotalPaid, Balance, RTRIM(InvoiceInfo1.Remarks) from Customer,Service,InvoiceInfo1 where Customer.ID=Service.CustomerID and Service.S_ID=InvoiceInfo1.ServiceID and InvoiceDate between @d1 and @d2 order by InvoiceDate", con)
177             cmd.Parameters.Add(
"@d1", SqlDbType.DateTime, 30, "Date").Value = dtpDateFrom.Value.Date
178             cmd.Parameters.Add(
"@d2", SqlDbType.DateTime, 30, "Date").Value = dtpDateTo.Value.Date
179             rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)
180             dgw.Rows.Clear()
181             While (rdr.Read() = True)
182                 dgw.Rows.Add(rdr(
0), rdr(1), rdr(2), rdr(3), rdr(4), rdr(5), rdr(6), rdr(7), rdr(8), rdr(9), rdr(10), rdr(11), rdr(12), rdr(13), rdr(14), rdr(15))
183             End While
184             con.Close()
185         Catch ex As Exception
186             MessageBox.Show(ex.Message,
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
187         End Try
188     End Sub
189
190     Private Sub cmbOrderNo_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles cmbInvoiceNo.SelectedIndexChanged
191         Try
192             con = New SqlConnection(cs)
193             con.Open()
194             cmd = New SqlCommand(
"Select Inv_ID, RTRIM(InvoiceNo), InvoiceDate, ServiceID,RTRIM(ServiceCode),RTRIM(Customer.CustomerID),RTRIM(Name), RepairCharges, Upfront, ProductCharges, ServiceTaxPer, ServiceTax, GrandTotal, TotalPaid, Balance, RTRIM(InvoiceInfo1.Remarks) from Customer,Service,InvoiceInfo1 where Customer.ID=Service.CustomerID and Service.S_ID=InvoiceInfo1.ServiceID and InvoiceNo='" & cmbInvoiceNo.Text & "' order by InvoiceDate", con)
195             rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)
196             dgw.Rows.Clear()
197             While (rdr.Read() = True)
198                 dgw.Rows.Add(rdr(
0), rdr(1), rdr(2), rdr(3), rdr(4), rdr(5), rdr(6), rdr(7), rdr(8), rdr(9), rdr(10), rdr(11), rdr(12), rdr(13), rdr(14), rdr(15))
199             End While
200             con.Close()
201         Catch ex As Exception
202             MessageBox.Show(ex.Message,
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
203         End Try
204     End Sub
205
206     Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
207         Try
208             con = New SqlConnection(cs)
209             con.Open()
210             cmd = New SqlCommand(
"Select Inv_ID, RTRIM(InvoiceNo), InvoiceDate, ServiceID,RTRIM(ServiceCode),RTRIM(Customer.CustomerID),RTRIM(Name), RepairCharges, Upfront, ProductCharges, ServiceTaxPer, ServiceTax, GrandTotal, TotalPaid, Balance, RTRIM(InvoiceInfo1.Remarks) from Customer,Service,InvoiceInfo1 where Customer.ID=Service.CustomerID and Service.S_ID=InvoiceInfo1.ServiceID and InvoiceDate between @d1 and @d2 and Balance > 0 order by InvoiceDate", con)
211             cmd.Parameters.Add(
"@d1", SqlDbType.DateTime, 30, "Date").Value = DateTimePicker2.Value.Date
212             cmd.Parameters.Add(
"@d2", SqlDbType.DateTime, 30, "Date").Value = DateTimePicker1.Value.Date
213             rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)
214             dgw.Rows.Clear()
215             While (rdr.Read() = True)
216                 dgw.Rows.Add(rdr(
0), rdr(1), rdr(2), rdr(3), rdr(4), rdr(5), rdr(6), rdr(7), rdr(8), rdr(9), rdr(10), rdr(11), rdr(12), rdr(13), rdr(14), rdr(15))
217             End While
218             con.Close()
219         Catch ex As Exception
220             MessageBox.Show(ex.Message,
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
221         End Try
222     End Sub
223
224     Private Sub txtCustomerName_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtCustomerName.TextChanged
225         Try
226             con = New SqlConnection(cs)
227             con.Open()
228             cmd = New SqlCommand(
"Select Inv_ID, RTRIM(InvoiceNo), InvoiceDate, ServiceID,RTRIM(ServiceCode),RTRIM(Customer.CustomerID),RTRIM(Name), RepairCharges, Upfront, ProductCharges, ServiceTaxPer, ServiceTax, GrandTotal, TotalPaid, Balance, RTRIM(InvoiceInfo1.Remarks) from Customer,Service,InvoiceInfo1 where Customer.ID=Service.CustomerID and Service.S_ID=InvoiceInfo1.ServiceID and Name like '%" & txtCustomerName.Text & "%' order by InvoiceDate", con)
229             rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)
230             dgw.Rows.Clear()
231             While (rdr.Read() = True)
232                 dgw.Rows.Add(rdr(
0), rdr(1), rdr(2), rdr(3), rdr(4), rdr(5), rdr(6), rdr(7), rdr(8), rdr(9), rdr(10), rdr(11), rdr(12), rdr(13), rdr(14), rdr(15))
233             End While
234             con.Close()
235         Catch ex As Exception
236             MessageBox.Show(ex.Message,
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
237         End Try
238     End Sub
239
240     Private Sub cmbInvoiceNo_Format(sender As System.Object, e As System.Windows.Forms.ListControlConvertEventArgs) Handles cmbInvoiceNo.Format
241         If (e.DesiredType Is GetType(String)) Then
242             e.Value = e.Value.ToString.Trim
243         End If
244     End Sub
245 End Class


Gõ tìm kiếm nhanh...